﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Simhopp.Model;

namespace Simhopp
{
    public interface InterfaceDBConnect
    {
        int AddCompetition(string Name, string Event, string Location,
                DateTime Date, double Height, char AgeClass, char Gender,
                int JudgingJudges, int RoundsInCompetition);
        void UpdateCompetition(int CompetitionID, string Name,
                string Event, string Location, DateTime Date, double Height,
                char AgeClass, char Gender, int JudgingJudges, int RoundsInCompetition);
        void RemoveCompetition(int CompetitionID);
        Competition GetCompetitionWithID(int CompetitionID);
        List<Competition> GetAllCompetition(List<Competition> CompList);
        int AddJudge(string Name, Countries Nationality,
                string Password, string Username, int CompetitionID);
        void AddJudgeToCompetition(int JudgeID, int CompetitionID);
        void GetJudgesWithCompetitionID(int CompetitionID, List<Judge> JudgeList);
        void UpdateJudge(int JudgeID, string Name, Countries Nationality, string Password, string Username, int CompetitionID);
        Judge GetJudgeWithID(int JudgeID);
        void RemoveJudge(int JudgeID);
        void GetAllJudge(List<Judge> JudgeList);
        int AddDiver(string Name, DateTime DateOfBirth, char Gender, int StartNumber,
                double Score, Countries Nationality, int CompetitionID);
        void AddDiverToCompetition(int DiverID, int CompetitionID);
        void GetDiverWithCompetitionID(int CompetitionID, List<Diver> DiverList);
        void UpdateDiver(int ID, string Name, DateTime DateOfBirth, char Gender, int StartNumber,
                double Score, Countries Nationality, int CompetitionID);
        Diver GetDiverWithID(int ID);
        void GetAllDiver(List<Diver> DiverList);
        void RemoveDiver(int ID);
    }
}
